home *** CD-ROM | disk | FTP | other *** search
/ 130 MIDI Tool Box / 130 MIDI Tool Box.iso / mcccfg / mcccfg.c next >
Text File  |  1988-01-29  |  3KB  |  84 lines

  1. /*===================================*/
  2. /*                                   */
  3. /* MCC Configuration File Access     */
  4. /*                                   */
  5. /* Reads the file MQ.CFG to          */
  6. /* determine the inerreupt level and */
  7. /* base I/O address assigned to the  */
  8. /* MCC.                              */
  9. /*                                   */
  10. /* This module can be used to write  */
  11. /* an MCC application that works     */
  12. /* in harmony with the rest of the   */
  13. /* MIDI Starter System.              */
  14. /*                                   */
  15. /* Copyright (c) 1988                */
  16. /* By Music Quest, Inc.              */
  17. /*                                   */
  18. /* Public Domain                     */
  19. /* Subject to the same usage         */
  20. /* requirements as the ToolKit.      */
  21. /*                                   */
  22. /*===================================*/
  23.  
  24. #define CONFIG  "MQ.CFG"
  25.  
  26. #include "fcntl.h"
  27. #include "stat.h"
  28.  
  29. struct pro_data                         /* MQ.CFG structure */
  30.   {
  31.     int level;                          /* interrupt level index */
  32.     int addr;                           /* card address index */
  33.   };
  34. struct pro_data p = {2,0x330};          /* default = irq2, 330 */
  35.  
  36. /*===================================*/
  37. /* Configure the card                */
  38. /*                                   */
  39. /* Reads the MQ.CFG file.  Installs  */
  40. /* the ToolKit according to the      */
  41. /* current configuration.            */
  42. /*                                   */
  43. /* Returned values                   */
  44. /*   0 = MCC not found or installed  */
  45. /*   1 = ToolKit installed.          */
  46. /*                                   */
  47. /*===================================*/
  48. mcc_config()
  49. {
  50.   int fx;
  51.  
  52.   if ((fx=open(CONFIG,O_RDONLY|O_BINARY)) >= 0) /* open config file */
  53.     {
  54.       read(fx,&p,sizeof(p));            /* read the IRQ and address */
  55.       close(fx);
  56.     }
  57.  
  58.   return(mcc_open(p.addr,p.level));     /* initialize MCC */
  59. }
  60.  
  61. /*===================================*/
  62. /* DeConfigure the card              */
  63. /*===================================*/
  64. mcc_deconfig()
  65. {
  66.   mcc_close();
  67. }
  68.  
  69. /*===================================*/
  70. /* Returns the base I/O address      */
  71. /*===================================*/
  72. mcc_addr()
  73. {
  74.   return(p.addr);
  75. }
  76.  
  77. /*===================================*/
  78. /* Returns the current IRQ number    */
  79. /*===================================*/
  80. mcc_level()
  81. {
  82.   return(p.level);
  83. }
  84.